#ifndef _IMG_PROCESSING_H_
#define _IMG_PROCESSING_H_

#include "cam.h"
#include "map asm.h"

// Init
void imgPInit(void);

// img process 1: Wall detection
// Passes an image for processing. After calling this, the contents of img are modified.
void imgP1(image_t* img);
// Gets the amount of walls detected
int imgP1GetWallCount(void);
// Fetches a pointer to the detected walls. The pointer points to an array of size imgP1GetWallCount().
mapWall* imgP1GetWalls(void);
// Whether a colour was detected on the wall, and if so, what it's coordinate is. (returns -1 if nothing detected, x coord otherwise)
int imgP1ColorDetected(void);

// img process 2: Obj detection
// Passes an image for processing. After calling this, the contents of img are modified.
void imgP2(image_t* img);
// Gets the object type detected. Returns 0 if nothing was found.
int imgP2GetObjType(void);
// Gets the object position on the image
unsigned int imgP2GetObjPos(void);

#endif

